package net.csdn.business.common.domain.request;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @author wanghang
 * @version 1.0
 * @date 2022/7/12 16:28
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class QuotaUpdateDto implements Serializable {

    /**
     * 命名空间
     */
    @NotBlank(message = "命名空间不能为空")
    private String path;

    /**
     * 创建组织数量限制（个）
     */
    @Min(value = 1)
    @NotNull(message = "组织数量限制不能为空")
    private Integer maxOrgNum;

    /**
     * 创建项目数量限制（个）
     */
    @Min(value = 1)
    @NotNull(message = "项目数量限制不能为空")
    private Integer maxRepoNum;

    /**
     * 单个项目占用空间限制（MB）
     */
    @Min(value = 1)
    @NotNull(message = "单个项目占用空间限制不能为空")
    private Integer maxRepoVolume;

    /**
     * CI/CD时长限制（分钟/月）
     */
    @Min(value = 1)
    @NotNull(message = "CI/CD时长限制不能为空")
    private Integer maxCicdTime;

}
